统一(简单)专题图 Sample详情

最后更新时间:2019年7月5日

统一专题图采用单一符号信息配置图层中的所有图元,主要用于强调数据的分布特征。

1

获取矢量图层

MGSMap *map=[mapView map];
MGSVectorLayer *layer=(MGSVectorLayer *)[map getLayerAtIndex:i];

2

创建点/线/区图形信息

根据当前图层类型创建相应几何图形信息(GeomInfo-基类),在此以区图层为例。

//创建区几何图形信息对象
MGSRegInfo *regInfo=[[MGSRegInfo alloc] init];
[regInfo setFillClr:(int)(1 + (arc4random() % (1500 - 1 + 1)))];  //设置填充颜色(参考当前使用的MapGIS颜色库颜色编号)

3

创建统一专题图绘制信息对象

创建统一专题图绘制信息对象(MGSThemeInfo),调用专题图信息对象的setGeoInfo方法设置图形信息,同时设置其专题图名称、是否显示、最大最小显示比等参数。

//创建简单专题图绘制信息对象
MGSThemeInfo *simpleThemeInfo=[[MGSThemeInfo alloc] init];
[simpleThemeInfo setGeoInfo:pntInfo];   //为专题图绘制信息对象设置图形信息
[simpleThemeInfo setMaxScale:0];        //最大显示比
[simpleThemeInfo setMinScale:0];        //最小显示比
[simpleThemeInfo setIsVisible:YES];     //可见性

4

创建简单专题图对象

创建简单专题图对象(MGSSimpleTheme),调用其setThemeInfo方法设置专题图信息,同时设置专题图的名称、可见性等信息。

//创建简单专题图对象
MGSSimpleTheme *simpleTheme=[[MGSSimpleTheme alloc] init];
[simpleTheme setThemeInfo:simpleThemeInfo];  //设置简单专题图的绘制信息
[simpleTheme setName:@"统一专题图"];          //名称
[simpleTheme setVisible:YES];                //可见性

5

显示专题图

获取专题图集合MGSThems,调用其append方法添加专题图。

//将专题图添加到对应矢量图层上
[[mapLayer themes] append:simpleTheme];
[mapView forceRefresh];   //刷新地图视图

统一专题图实现效果如下图所示:

统一专题图.jpg